From 95e313a2833fcf2d80f0b298aaf2b533642b0198 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 8 May 2017 16:35:53 -0400 Subject: [PATCH] file filter: Be save against NULL g_content_type_from_mime_type may return NULL, deal with that. https://bugzilla.gnome.org/show_bug.cgi?id=782180 --- gtk/gtkfilefilter.c | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/gtk/gtkfilefilter.c b/gtk/gtkfilefilter.c index e86f2d8304..5339ac7f38 100644 --- a/gtk/gtkfilefilter.c +++ b/gtk/gtkfilefilter.c @@ -673,19 +673,21 @@ gtk_file_filter_filter (GtkFileFilter *filter, switch (rule->type) { case FILTER_RULE_MIME_TYPE: - if (filter_info->mime_type != NULL) - { - gchar *filter_content_type, *rule_content_type; - gboolean match; - - filter_content_type = g_content_type_from_mime_type (filter_info->mime_type); - rule_content_type = g_content_type_from_mime_type (rule->u.mime_type); - match = g_content_type_is_a (filter_content_type, rule_content_type); - g_free (filter_content_type); - g_free (rule_content_type); - - if (match) - return TRUE; + if (filter_info->mime_type != NULL) + { + gchar *filter_content_type, *rule_content_type; + gboolean match; + + filter_content_type = g_content_type_from_mime_type (filter_info->mime_type); + rule_content_type = g_content_type_from_mime_type (rule->u.mime_type); + match = filter_content_type != NULL && + rule_content_type != NULL && + g_content_type_is_a (filter_content_type, rule_content_type); + g_free (filter_content_type); + g_free (rule_content_type); + + if (match) + return TRUE; } break; case FILTER_RULE_PATTERN: -- 2.30.2